Skip to main content

Daily Invoice Export - Invoice Block

Terminology

Record SetA set of rows exported into the CSV file, it consists of the records in the order as in below
OrderIndicatorContext
1.xTHTransaction Header
2.xRESupplier/Repairer Details
3.xINInvoice Credit Note Details
4.x.1ILItem Line Details
4.x.2.nIPParts Record
4.x.3TLTotal Line Cost Record
5.xTCTotal Transaction Cost Record
6.xVAVAT Summary Record
7.xTTTransaction Trailer Record
* x denotes an index of the transaction relative to the enquiry that is invoiced/credited on the day of export
* n denotes an index of parts/fluids added in a job line of specific enquiry
RecordA particular line of the export that is either of indicators allowed in a record set, along with one record for the entire file among the following
  1. HE - File Header
  2. LC - Scheme Operator Address Detail
  3. FT - File Trailer Record

File Header - HE

  • This record is mandatory
  • This is the first line of the export file
  • This line is not part of any record set, it is common for the entire file
Sr.NoField LabelData TypeLengthNotesMandatory
1Record Type IndicatorText2Must be "HE"Y
2Record Version NumberInteger2Must be "6"Y
3Scheme Operator ReferenceInteger7ViSN Customer Account NumberY
4Type of TransactionText1
  • Value must be "I"
  • The export process combines both invoices and credits into a single file. However, in the HE Record, the "Transaction Type" field does not distinguish between them and always displays "Invoice".
  • In the HE Record, the "Transaction Type" field serves as an indicator of the file format for export, rather than specifying the actual transaction type (invoice or credit).
Y
5File Serial NumberInteger8
  • Retrieve the baseReferenceDate and baseSequenceNumber from Firebase at the following location:

    - leasecompany
    {leaseId}
    exports
    settings
    invoiceExportsSequenceNumber
    baseReferenceDate
    baseSequenceNumber
  • Determine days elapsed as number of days between the baseReferenceDate and the current date
  • Add baseSequenceNumber to it to use it as the export sequence number
Y
6Run DateInteger8CCYYMMDD (e.g., "20031225")Y
7Run TimeInteger6HHMMSS (e.g., "232830")Y
8End of Record MarkerControl1Carriage Return Code (ASCII 10)Y

Scheme Operator Address Detail - LC

  • The inclusion of this line is controlled by the flag addLCLineForInvoice, which is configured in the lease company's scheduler.
  • When addLCLineForInvoice is set to false, the LC line appears only once in the file.
  • When addLCLineForInvoice is set to true, the LC line is included for each record in the file.
  • If addLCLineForInvoice is not configured in the lease company's scheduler, the LC line defaults to being included for each record in the file.
  • It provides details about the customer for whom the export is being generated.
Sr.NoField LabelData TypeLengthNotesMandatory
1Record Type IndicatorText2Must be "LC"Y
2Record Type Version NumberInteger2Must be "6"Y
3Scheme Operator ReferenceInteger7ViSN Customer Account Number

This value will be fetched into the column at the time of export from below location in firebase
- leasecompany
{leaseId}
leaseDetails
accountNumber

The value will be blank in case of the value being not present in above location
Y
4Scheme Operator Account NameText30
  • When Enquiry's 'Rate Card' Type is "ViSN with DI Network and Paybill" or "ViSN Hybrid - Customer’s Network and DI Network with Paybill"

    • And 'Supplier's Paybill' value at the time of enquiry creation was 'VISN'
      • If Group level setting, 'Use Direct Paybill Name' is enabled
      • Then, Savi Perfix and Lease Company's Name for Direct Paybill will be used
      • If Group level setting, 'Use Direct Paybill Name' is disabled
      • Then, Savi Perfix and Lease Company's Name will be used
    • And 'Supplier's Paybill' value at the time of enquiry creation was 'DIRECT'
      • If Group level setting, 'Use Direct Paybill Name' is enabled
      • Then, Lease Company's Name for Direct Paybill will be used
      • If Group level setting, 'Use Direct Paybill Name' is disabled
      • Then, Lease Company's Name will be used
  • For other rate card types, the value will default to the lease company's name.
  • The name to be used will be stored while invoicing and fetched at time of export at following firebase location
    - leasecompany
    {leaseId}
    exports
    {year}
    {month}
    {day}
    enquiries
    {enquiryId}
    leaseCompanyName
Y
5Scheme Operator Address 1Text30
  • When Enquiry's 'Rate Card' Type is "ViSN with DI Network and Paybill" or "ViSN Hybrid - Customer’s Network and DI Network with Paybill"

    • And 'Supplier's Paybill' value at the time of enquiry creation was 'VISN'
    • Then the Savi Address will be used
    • And 'Supplier's Paybill' value at the time of enquiry creation was 'DIRECT'
    • Then the Lease Company's Address will be used
  • For other rate card types, the value will be used from the lease company's address.
  • The value to be used will be stored while invoicing and fetched at time of export at following firebase location
    - leasecompany
    {leaseId}
    exports
    {year}
    {month}
    {day}
    enquiries
    {enquiryId}
    paybillDetailsForInvoiceExport
    address
Y
6Scheme Operator Address 2Text30
  • When Enquiry's 'Rate Card' Type is "ViSN with DI Network and Paybill" or "ViSN Hybrid - Customer’s Network and DI Network with Paybill"

    • And 'Supplier's Paybill' value at the time of enquiry creation was 'VISN'
    • Then the Savi Address will be used
    • And 'Supplier's Paybill' value at the time of enquiry creation was 'DIRECT'
    • Then the Lease Company's Address will be used
  • For other rate card types, the value will be used from the lease company's address.
  • The value to be used will be stored while invoicing and fetched at time of export at following firebase location
    - leasecompany
    {leaseId}
    exports
    {year}
    {month}
    {day}
    enquiries
    {enquiryId}
    paybillDetailsForInvoiceExport
    address
Y
7Scheme Operator Address 3Text30
  • When Enquiry's 'Rate Card' Type is "ViSN with DI Network and Paybill" or "ViSN Hybrid - Customer’s Network and DI Network with Paybill"

    • And 'Supplier's Paybill' value at the time of enquiry creation was 'VISN'
    • Then the Savi Address will be used
    • And 'Supplier's Paybill' value at the time of enquiry creation was 'DIRECT'
    • Then the Lease Company's Address will be used
  • For other rate card types, the value will be used from the lease company's address.
  • The value to be used will be stored while invoicing and fetched at time of export at following firebase location
    - leasecompany
    {leaseId}
    exports
    {year}
    {month}
    {day}
    enquiries
    {enquiryId}
    paybillDetailsForInvoiceExport
    address
8Scheme Operator Address 4Text30
  • When Enquiry's 'Rate Card' Type is "ViSN with DI Network and Paybill" or "ViSN Hybrid - Customer’s Network and DI Network with Paybill"

    • And 'Supplier's Paybill' value at the time of enquiry creation was 'VISN'
    • Then the Savi Address will be used
    • And 'Supplier's Paybill' value at the time of enquiry creation was 'DIRECT'
    • Then the Lease Company's Address will be used
  • For other rate card types, the value will be used from the lease company's address.
  • The value to be used will be stored while invoicing and fetched at time of export at following firebase location
    - leasecompany
    {leaseId}
    exports
    {year}
    {month}
    {day}
    enquiries
    {enquiryId}
    paybillDetailsForInvoiceExport
    address
9Scheme Operator Address 5Text30
  • When Enquiry's 'Rate Card' Type is "ViSN with DI Network and Paybill" or "ViSN Hybrid - Customer’s Network and DI Network with Paybill"

    • And 'Supplier's Paybill' value at the time of enquiry creation was 'VISN'
    • Then the Savi Address will be used
    • And 'Supplier's Paybill' value at the time of enquiry creation was 'DIRECT'
    • Then the Lease Company's Address will be used
  • For other rate card types, the value will be used from the lease company's address.
  • The value to be used will be stored while invoicing and fetched at time of export at following firebase location
    - leasecompany
    {leaseId}
    exports
    {year}
    {month}
    {day}
    enquiries
    {enquiryId}
    paybillDetailsForInvoiceExport
    address
10Scheme Operator PostcodeText8
  • When Enquiry's 'Rate Card' Type is "ViSN with DI Network and Paybill" or "ViSN Hybrid - Customer’s Network and DI Network with Paybill"

    • And 'Supplier's Paybill' value at the time of enquiry creation was 'VISN'
    • Then the Savi Address will be used
    • And 'Supplier's Paybill' value at the time of enquiry creation was 'DIRECT'
    • Then the Lease Company's Address will be used
  • For other rate card types, the value will be used from the lease company's address.
  • The value to be used will be stored while invoicing and fetched at time of export at following firebase location
    - leasecompany
    {leaseId}
    exports
    {year}
    {month}
    {day}
    enquiries
    {enquiryId}
    paybillDetailsForInvoiceExport
    address
11End of Record MarkerControl1Carriage Return Code (ASCII 10)Y

Transaction Header - TH

  • Record is mandatory for each transaction in the record set
  • More than one record can exist in each file
Sr.NoField LabelData TypeLengthNotesMandatory
1Record Type IndicatorText2Must be "TH"Y
2Record Type Version NumberInteger2Must be "6"Y
3ViSN Enquiry NumberInteger8For invoice transactions (transaction type 'I'), the enquiry number will be populated in this column.Y
4Invoice Extract Analysis RefInteger2Constant "01"Y
5Repairer Job NumberText10The enquiry number will be populated in this column
6Vehicle RegistrationText14This column will contain the VRM (Vehicle Registration Mark) of the vehicle associated with the enquiry or job.Y
7Odometer ReadingInteger7This column indicates the vehicle's mileage recorded during the repair.Y
8Transaction DateInteger8This column will contain the vehicle's check-in date at the garage.

Format: CCYYMMDD (e.g., "20031225")
Y
9Asset NumberText10This column will contain the asset number associated with the vehicle in the enquiry.Y
10Card NumberText19Blank Space
11Driver NameText40This column will contain the name of the driver associated with the vehicle in the enquiry
12Purchase Order NumberText20
  • Mandatory if job authorised on the ViSN platform.
  • Purchase Order that is captured in enquiry will be populated into this column

13Transaction Serial NumberInteger8Constant '1'Y
14Job Completion DateInteger8The date when the job was closed and marked as 'Job Complete'.

CCYYMMDD (e.g., "20031225").
Y
15VINText20This column will contain the Vehicle Identification Number (VIN) associated with the vehicle in the enquiry.
16End of Record MarkerControl1Carriage Return Code (ASCII 10)Y

Supplier/Repairer Details - RE

  • This record is required in every record set
  • Only one record is allowed per transaction
  • Includes details of the supplier responsible for the service related to the enquiry
Sr.NoField LabelData TypeLengthNotesMandatory
1Record Type IndicatorText2Must be "RE"Y
2Record Type Version NumberInteger2Must be "6"Y
3ViSN Repairer Account NumberInteger7
DI Group Supplier ID, if no group then DI Supplier ID
The value will be fetched into the column from below location in firebase
- leasecompany
{leaseId}
suppliers
{accountId}
groupId
Y
4Supplier Account NumberText20
Supplier Group ID, if no group then Supplier ID
The value will be fetched into the column from below location in firebase
- leasecompany
{leaseId}
suppliers
{accountId}
serviceUnits
{serviceUnitObjectID}
supplierId
Y
5Supplier Account NameText30Supplier Name from Invoice Supplier Details

If the content for this column is found to be more than 30 characters in length, it will be trimmed down to 30 characters.
Y
6Supplier Account Address 1Text30number from Supplier Address Details of Invoice Supplier DetailsY
7Supplier Account Address 2Text30address1 from Supplier Address Details of Invoice Supplier DetailsY
8Supplier Account Address 3Text30address2 from Supplier Address Details of Invoice Supplier Details
9Supplier Account Address 4Text30county from Supplier Address Details of Invoice Supplier Details
10Supplier Account PostcodeText8postcode from Supplier Address Details of Invoice Supplier Details
11Supplier VAT numberText10VAT Number from Invoice Supplier DetailsY
12Scheme Operator Controller IDText10Constant Blank
13Supplier Account Address 5Text30Constant Blank
14Contact Telephone NumberText15
Contact phone number
The value will be fetched into the column from below location in firebase
- leasecompany
{leaseId}
suppliers
{accountId}
serviceUnits
{serviceUnitObjectID}
contact
15End of Record MarkerControl1Carriage Return Code (ASCII 10)Y

Invoice Credit Note Details - IN

  • This record is required in every record set
  • Each transaction can only contain one record
  • Multiple records can be included in a single file
Sr.NoField LabelData TypeLengthNotesMandatory
1Record Type IndicatorText2Must be "IN"Y
2Record Type Version NumberInteger2Must be "6"Y
3Transaction TypeText1I = InvoiceY
4Invoice NumberText20

This value is retrieved from the invoice number recorded in the invoice drawer during invoicing.

Y
5Tax Point DateInteger8

This value is retrieved from the invoice number recorded in the invoice drawer during invoicing.

CCYYMMDD (e.g., "20031225")

Y
6Repairer Invoice TextText16Blank
7Original Invoice NumberText20BlankY
8Original ViSN Transaction NumberInteger8Blank
9Reason for CreditText30Blank
10Scheme Operator MessageText80Blank

- Not In Use
11Scheme Operator Authorisation CodeText10Blank

- Not In Use
12Invoice DateInteger8The date on which the invoice is generated

CCYYMMDD (e.g., "20031225")
Y
13Terms StatusText1Constant 'I', I denotes `In terms` here
14End of record MarkerControl1Carriage Return Code (ASCII 10)Y

Item Line Details - IL

  • Each record set must contain at least one record
  • Multiple records can exist within a single transaction and in the export file
Sr.NoField LabelData TypeLengthNotesMandatory
1Record Type IndicatorText2Must be "IL"Y
2Record Type Version NumberInteger2Must be "6"Y
3Item NumberInteger2

This column represents the position or sequence of the specific job item within the job sheet linked to the enquiry.

Y
4Cost TypeText1Will be one of the Cost Types

Exception: For Tyre job lines, this value will always be 'M'.
Y
5Charge IndicatorText1Will be one of the Recharge IndicatorsY
6QuantityNumber2.2Value is always 1.Y
7Additional Information Text (or) Repairer Authorisation TextText30This column captures the customer's reason for manually authorizing a job line.
8External Code/ViSN Job CodeText5Integration code to be used in invoice exports.

  • SMR Joblines: If the includeExternalSMRCodesInExport flag is enabled for the lease company and a matching External SMR Code is found for the jobline's description, it will be applied.
    • This flag can be managed via the DI Admin portal on the Edit Customer screen.

  • MOT Joblines: 28165 will be the code used for these joblines
  • TYRE Joblines: 29128 will be the code used for these joblines
  • SUPPLEMENTARY Joblines: 29113 will be the code used for these joblines
  • GLASS Joblines: Existing external code saved against the job descriptions will be used
If external code is not available for the job description in any of the above cases then '0'
9Job line-Item DescriptionText90

Description of the Jobline Item. The values for this field differ based on the job line type (details provided below)

  • MOT: Will be constant 'MOT'
  • TYRE: A Concatenated string of Description, Brand of tyre and locations of replacement
  • GLASS: A Concatenated string of Description, Location of Glass Change
  • OTHER: Description of the jobline
10Asset IDText40The asset number of the vehicle associated with the enquiry will be populated into this column
11Full Recharge TextText150
  • This column will contain the recharge notes entered by the customer for each job line associated with recharge details.
  • If the content for this column consists of multiple lines, then the new lines will be replaced with a space character.
  • If the content for this column is found to be more than 150 characters in length, it will be trimmed down to 150 characters.
12Action codeText3Default on file is code R&R
13Reason CodeText3The values for this field differ based on the job line type (details provided below)

Y
14Goodwill PercentageNumber3.2Always 0.0N
15Labour TimeNumber5.2
  • When Cost Type is "N", is mandatory
  • Will be always set to 0 for TYRE joblines
  • This Column will be populated from labour details modal of the jobline

  • (e.g., 99999.99)
Y
16Labour RateNumber5.2
  • When Cost Type is "N", is mandatory
  • Will be always set to 0 for TYRE joblines
  • This Column will be populated from labour details modal of the jobline

  • The labour rate is calculated by factoring in the goodwill percentage. This ensures that the final rate reflects any adjustments or considerations related to goodwill.

  • (e.g., 99999.99)
Y
17Number of PartsNumber3.2
  • When Cost Type is "N", is mandatory
  • The values for this field differ based on the job line type and job description type (details provided below)
    • TYRE: Will be constant 0
    • MOT: Will be constant 0
    • OTHER - Catalogue: Will be constant 0
    • OTHER - Non Catalogue: No.of.parts added in the jobline
  • (e.g., 999.99)
Y
18Recharge Reason CodeText5When Charge Indicator = "R", is mandatory.

Will be one of the Recharge reason codes
19Recharge AmountNumber5.2This column will contain the recharge amount entered by the customer for each job line associated with recharge details.

(e.g., 99999.99)
20Recharge PercentageNumber3.2This column will contain the recharge percentage entered by the customer for each job line associated with recharge details.

(e.g., 999.99)
21Recharge TextText40
  • This column will contain the recharge notes entered by the customer for each job line associated with recharge details.
  • If the content for this column consists of multiple lines, then the new lines will be replaced with a space character.
  • If the content for this column is found to be more than 40 characters in length, it will be trimmed down to 40 characters.
22End of Record MarkerControl1Carriage Return Code (ASCII 10)Y

Parts Record - IP

  • Record is optional, available only if any of the job lines of the job sheet has parts/fluids added to them
  • More than one record can exist in each file
Sr.NoField LabelData TypeLengthNotesMandatory
1Record Type IndicatorText2Must be "IP"Y
2Record Type Version NumberInteger2Must be "6"Y
3Item NumberInteger2

This column indicates the specific job item's position (order) within the job sheet associated with the enquiry.

Y
4Parts NumberInteger1always "1"Y
5Parts CodeText24
6Parts DescriptionText30

During data export, the 'Part line type' field is used to determine the content for this specific column.

If the content for this column is found to be more than 30 characters in length, it will be trimmed down to 30 characters.

Y
7QuantityNumber2.2e.g.
  • 13.3 (for fluid) denotes 13 liters and 300 ml.
  • 12 (for parts) denotes 12 items
Y
8Unit PriceNumber5.2
  • The cost of one individual part
  • The cost of one litre of the fluid.
  • e.g. 99999.99
Y
9Parts Discount RateNumber3.2Percentage discount provided for the specific part or fluid

e.g. 999.99
Y
10Goodwill PercentageNumber3.2
  • For fluids, the value will remain constant at 0.00
  • The default value for parts is 0.00, and the maximum allowed is 100.00.
e.g. 999.99
N
11Discounted Unit PriceNumber5.2

To determine the Discounted Unit Price, we first apply theunit discount percentage to the unit price. Then, we apply thegoodwill discount percentage to the discounted price to calculate the final discounted unit price.

  • Unit Price (IP8): UP = 100
  • Unit Discount Percentage (IP9): UDP = 20%
  • Discount Amount: DA = UP * (UDP/100)
    Discounted Amount = 100 × (20/100) = 20
  • Price Before Goodwill: PBG = UP - DA
    Price Before Goodwill = 100 - 20 = 80
  • Goodwill Discount Percentage(IP10): GDP = 5%
  • Goodwill Amount: GA = PBG * (GDP/100)
    Goodwill Amount = 80 × (5/100) = 4
  • Final Net Price: FNP = PBG - GA
    Final Net Price = 80 - 4 = 76
Y
12Nett Parts PriceNumber5.2

The net price is derived by calculating the total cost (unit price multiplied by quantity), then deducting the unit discount and the goodwill discount.

  • Quantity (IP7): Q = 2
  • Unit Price (IP8): UP = 100
  • Total Unit Price: TUP = UP * Q
    Total Unit Price = 100 × 2 = 200
  • Unit Discount Percentage (IP9): UDP = 20%
  • Discount Amount: DA = TUP * (UDP/100)
    Discounted Amount = 200 × (20/100) = 40
  • Price Before Goodwill: PBG = TUP - DA
    Price Before Goodwill = 200 - 40 = 160
  • Goodwill Discount Percentage(IP10): GDP = 5%
  • Goodwill Amount: GA = PBG * (GDP/100)
    Goodwill Amount = 160 × (5/100) = 8
  • Final Net Price: FNP = PBG - GA
    Final Net Price = 160 - 8 = 152
Y
13VAT RateNumber2.2Mandatory with Invoice Note

(e.g. 99.99)
14Normal Part Text1Will always be 'Y'Y
15Manufacturer of PartText3Blank

This is mandatory if Normal Part is "N". However, ViSN currently does not export "N".
16VAT CodeText1Will be one of the VAT codesY
17End of Record MarkerControl1Carriage Return Code (ASCII 10)Y

Total Line Cost Record - TL

  • At least one record must exist in each record set
  • More than one record can exist in each file
Sr.NoField LabelData TypeLengthNotesMandatory
1Record Type IndicatorText2Must be "TL"Y
2Record Type Version NumberInteger2Must be "6"Y
3Nett Labour CostNumber5.2

The values for this field differ based on the job line type and job description type (details provided below)

  • MOT: Always 0 as no labor lines are generated for MOT job lines.
  • TYRE: Always 0 since IL15 is 0.
  • OTHER - Catalogue: Always 0 as no labor lines are generated for catalogue job lines.
  • OTHER - Non Catalogue: Calculated by multiplying the time worked by the hourly rate and adjusting for the goodwill percentage for each labor line.

(e.g., 99999.99)

Y
4VAT Rate LabourNumber2.2

Mandatory only with an invoice or credit note.

  • If a labour line exists, this will be the VAT rate for the labour line.
  • If no labour line exists, this will be the VAT rate for the job line.

(e.g., 99.99)

Y
5Total Nett Parts CostNumber5.2

The values for this field differ based on the job line type and job description type (details provided below)

  • MOT: Will be constant 0 as no parts lines are generated for MOT job lines.
  • TYRE: Will be constant 0 as no parts lines are generated for TYRE job lines.
  • OTHER:
    • For Catalogue descriptions not linked to FNP, this field will always have a value of 0.
    • For Catalogue descriptions associated with FNP (e.g., OEM descriptions), the net price is treated as zero, resulting in a total net price of zero for these lines. Additionally, the menu price for the OEM description is added to this total.
    • For Non-Catalogue descriptions, whether linked to FNP(MODULUS) or not , the export process calculates the total net parts cost by summing up the net price of each part line.

(e.g., 99999.99)

Y
6Total Nett Line CostNumber5.2

The total nett line cost is derived by adding the total net parts cost and the total net labour cost if the job line includes both parts and labour. Otherwise, it will reflect the job line's total value.

(e.g., 99999.99)

Y
7VAT CodeText1Will be one of the VAT codesY
8End of Record MarkerControl1Carriage Return Code (ASCII 10)Y

Total Transaction Cost Record - TC

  • Required in every record set
  • Limited to one record per transaction
  • Multiple records can be included in an export file
Sr.NoField LabelData TypeLengthNotesMandatory
1Record Type IndicatorText2Must be "TC"Y
2Record Type Version NumberInteger2Must be "6"Y
3Total Nett Labour CostNumber5.2

The value for this field is determined by the job line type and job description type. Refer IL16 to check the same.

It is calculated by summing up the net labor costs (TL3) of all job lines in the jobsheet. The net labor cost is determined by considering the labor rate, labor hours, and applying goodwill discount.

(e.g., 99999.99)

Y
4Total Nett Parts CostNumber5.2

The values for this field differ based on the job line type and job description type. Refer IP12 to check the same

It is calculated by summing up the net parts costs (TL5) of all job lines in the jobsheet. The net parts cost is determined by considering the parts price, quantity, and applying any unit and goodwill discounts.

(e.g., 99999.99)

Y
5Total Nett Transaction CostNumber5.2

This value is calculated by adding up the Total Nett Line Cost (TL6) of all lines in the jobsheet. The Total Nett Line Cost is determined by combining the total net parts cost and the total net labour cost if the job line includes both parts and labour. Otherwise, it represents the total value of the job line.

(e.g., 99999.99)

Y
6VAT AmountNumber5.2

This value is calculated by adding up the vat amount of all lines in the jobsheet.

(e.g., 99999.99)

7Total Gross Labour CostNumber5.2

Mandatory with an invoice or credit note

The final value is calculated by factoring in the total net labor cost and applying the VAT rate

(e.g., 99999.99)

8Total Gross Parts CostNumber5.2

Mandatory with an invoice or credit note

The final value is calculated by factoring in the total net parts cost and applying the VAT rate

(e.g., 99999.99)

9Total Gross Transaction CostNumber5.2

Mandatory with an invoice or credit note

The final value is calculated by factoring in the total net jobline cost (TL6) and applying the VAT rate

(e.g., 99999.99)

Y
10End of Record MarkerControl1Carriage Return Code (ASCII 10)Y

VAT Summary Record - VA

All the joblines in the jobsheet are grouped by the vat code.

  • One record per VAT code in each Transaction
  • More than one record can exist in a file
  • More than one record can exist in a Transaction
Sr.NoField LabelData TypeLengthNotesMandatory
1Record Type IndicatorText2Must be "VA"Y
2Record Type Version NumberInteger2Must be "6"Y
3VAT RateNumber2.2Indicates the VAT rate associated with the specified VAT code.

(e.g., 99.99)
Y
4VAT Applicable AmountNumber5.2Represents the total cost of all joblines where the specified VAT code is applied.

(e.g., 99999.99)
Y
5VAT AmountNumber5.2Represents the total VAT amount for all joblines associated with the specified VAT code.


(e.g., 99999.99)
Y
6VAT CodeText1Will be one of the VAT codesY
7End of Record MarkerControl1Carriage Return Code (ASCII 10)Y

Transaction Trailer Record - TT

  • One record must exist for each Transaction
  • More than one record can exist in an export file
Sr.NoField LabelFormatLengthNotesMandatory
1Record Type IndicatorText2Must be "TT"Y
2Record Version NumberInteger2Must be "6"Y
3Number of RecordsInteger5Total number of records between Transaction Header and Transaction Trailer inclusive (excludes authorisation details)Y
4End of Record MarkerControl1Carriage Return Code (ASCII 10)Y

File Trailer Record - FT

  • This record is mandatory
  • This line does not belong to a record set, instead common for the whole file
Sr.NoField LabelFormatLengthNotesMandatory
1Record Type IndicatorText2Must be "FT"Y
2Record Version NumberInteger2Must be "6"Y
3Number of RecordsInteger5Total number of transactionsY
4End of Record MarkerControl1Carriage Return Code (ASCII 10)Y
Status: Accepted
Category: Protected
Authored By: Rama on Sep 01, 2023
Revisions
03 Jun, 2024 - Resolved Documentation Discrepancy, VN-12905
23 Apr, 2024 - Update Post paybill Integration, VN-11017
09 Feb, 2024 - Update Post FNP Integration, VN-11235
11 Jan, 2024 - Change content in daily invoice export, VN-10934
20 Nov, 2023 - changes with respect to code
22 Sep, 2023 - Add Daily Invoice Export Documentation, VN-9668
26 Sep, 2024 - Update LC line dependency on addLCLineForInvoice flag, VN-14508
26 Nov, 2024 - Update External Code field notes in IL line, VN-15156
06 Dec, 2024 - Update Setup Required section and add a helpful image.
02 Apr, 2025 - Update the documentation to have separate doc for invoice and credit blocks.
07 May, 2025 - Update the calculations along with the diagrams representing how they are calculated.
09 May, 2025 - Revise Lease Company name column based on Paybill value and Direct Paybill name setting, VN-18231